package com.sp.outputstream_;

import org.junit.jupiter.api.Test;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 使用FileOutputStream 在 a.txt文件中写入 "hello, world".
 * 如果文件不存在, 会创建文件(前提是目录已经存在)
 */
public class FileOutputStream_ {
    @Test
    public void WriteFile() {
        FileOutputStream fileOutputStream = null;
        String str = "hello, world";
        try {
            //1. new FileOutputStream(filePath), 创建方式, 当写入内容, 会覆盖原来的内容
            //2. new FileOutputStream(filePath, true), 创建方式, 当写入内容, 会在原来文件内容后面追加
            fileOutputStream = new FileOutputStream("d:\\development\\code\\IO_Test\\news\\a.txt", true);
            //str.getBytes() 可以把 字符串 -> 字节数组
//            fileOutputStream.write(str.getBytes());
            /*
            write(byte[] b, int off, int len) 将 len字节从位于偏移量 off的指定字节数组写入此文件输出流
             */
            fileOutputStream.write(str.getBytes(), 0, str.length());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}
